home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
STUTTGART
/
LANG
/
C
/
LIB
/
UNIXLIB37B
/
!UnixLib37
/
src
/
stdio
/
c
/
printf
< prev
next >
Wrap
Text File
|
1996-11-09
|
2KB
|
104 lines
/****************************************************************************
*
* $Source: /unixb/home/unixlib/source/unixlib37/src/stdio/c/RCS/printf,v $
* $Date: 1996/10/30 21:59:00 $
* $Revision: 1.3 $
* $State: Rel $
* $Author: unixlib $
*
* $Log: printf,v $
* Revision 1.3 1996/10/30 21:59:00 unixlib
* Massive changes made by Nick Burret and Peter Burwood.
*
* Revision 1.2 1996/07/21 22:12:31 unixlib
* CL_0001 Nick Burret
* Improve memory handling. Remove C++ library incompatibilities.
* Improve file stat routines.
*
* Revision 1.1 1996/04/19 21:32:42 simon
* Initial revision
*
***************************************************************************/
static const char rcs_id[] = "$Id: printf,v 1.3 1996/10/30 21:59:00 unixlib Rel $";
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
__STDIOLIB__
int
vsprintf (register char *buf, register const char *format,
register va_list ap)
{
return (__printf (buf, format, ap));
}
int
vfprintf (register FILE * f, register const char *format, register va_list ap)
{
register int n;
#ifdef __PARANOID
/* __pbuf is not initialised in __stdioinit. Leave check here for safety. */
if (!__pbuf)
if (!(__pbuf = malloc (BUFSIZ << 1)))
return (-1);
#endif
n = __printf (__pbuf, format, ap);
if ((n = __fwrite (f, __pbuf, n)) < 0)
return (-1);
if (f->o_ptr > f->o_base && !!(f->flag & _IOLBF) && __flsbuf (-1, f) < 0)
return (-1);
return (n);
}
int
vprintf (register const char *format, register va_list ap)
{
return (vfprintf (stdout, format, ap));
}
int
sprintf (register char *buf, const char *format,...)
{
va_list ap;
register int r;
va_start (ap, format);
r = vsprintf (buf, format, ap);
va_end (ap);
return (r);
}
int
fprintf (register FILE * f, const char *format,...)
{
va_list ap;
register int r;
va_start (ap, format);
r = vfprintf (f, format, ap);
va_end (ap);
return (r);
}
int
printf (const char *format,...)
{
va_list ap;
register int r;
va_start (ap, format);
r = vfprintf (stdout, format, ap);
va_end (ap);
return (r);
}